System and method for generating and managing pseudo data fields in CRM

ABSTRACT

Systems and methods for generating a pseudo data field in a CRM system to allow end users to generate and manage pseudo data fields for account objects in the CRM system, which may behave like actual data fields of account objects in the CRM system but live outside the CRM account. The present invention uses a data model that includes two objects to allow end users to generate and manage the pseudo data fields. One of the objects is pseudo data field configuration object, which may be used to configure the pseudo data fields that should be made available to end users. The other object is pseudo data field object which may be used to record user responses or values users use to populate the pseudo data field.

BACKGROUND

The subject technology relates generally to customer relationshipmanagement (“CRM”), and more particularly to generating and managingpseudo data fields in a customer relationship management system.

In the pharmaceutical sales industry, sales representatives visit, callor send emails to doctors to communicate product information. Theircompany employers (e.g., pharmaceutical companies) often use a CRMsystem to manage the doctors' professional information. In aconventional CRM system, end users, including business users and fieldusers, are not authorized to create new data fields on account objectsin the CRM system. If an end user needs to use a new data field, he/shehas to submit a request to IT professionals, and wait for the ITprofessionals to create the new data field on CRM account objects.Sometimes this may take weeks, since the company employers may have manyconsiderations for creating new data fields on CRM account objects,including custom field limit per object in the CRM system, and theduration of the field as some fields may only be needed for a shortperiod of time.

SUMMARY

The disclosed subject matter relates to a method for generating a pseudodata field in a CRM system. The method comprises: receiving a request,at a pseudo data field controller in a server of the CRM system, forgenerating a pseudo data field for an account object in the CRM system;and displaying a first user interface for generating the pseudo datafield, wherein the first user interface comprises a first area forreceiving input for configuring a pseudo data field configurationobject. The method further comprises: receiving a first user input, inthe first area on the first user interface, for a pseudo data fieldconfiguration object; storing the pseudo data field configuration objectin a storage device of the CRM system; and generating and displaying acombined CRM account detail page, wherein the combined CRM accountdetail page comprises a first area for displaying fields of the accountobject in the CRM system and a second area for displaying the pseudodata field. The method further comprises: receiving a second user inputin the pseudo data field on the combined CRM account detail page; andstoring the second user input in a pseudo data field object in thestorage device of the CRM system, separately from data in the fields ofthe account object in the CRM system.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example high level block diagram of a customerrelationship management architecture wherein the present invention maybe implemented.

FIG. 2 illustrates an example block diagram of a computing device.

FIG. 3 illustrates an example high level block diagram of a usercomputing device.

FIG. 4 illustrates an example high level block diagram of the customerrelationship management server according to one embodiment of thepresent invention.

FIG. 5 illustrates an example flowchart of a method for configuring andmanaging a pseudo data field in the CRM system according to oneembodiment of the present invention.

DETAILED DESCRIPTION

The detailed description set forth below is intended as a description ofvarious configurations of the subject technology and is not intended torepresent the only configurations in which the subject technology may bepracticed. The appended drawings are incorporated herein and constitutea part of the detailed description. The detailed description includesspecific details for the purpose of providing a thorough understandingof the subject technology. However, the subject technology is notlimited to the specific details set forth herein and may be practicedwithout these specific details. In some instances, well-known structuresand components are shown in block diagram form in order to avoidobscuring the concepts of the subject technology.

The present invention provides a system and method to allow end users togenerate and manage pseudo data fields for account objects in the CRMsystem, which may behave like actual data fields of account objects inthe CRM system but live outside the CRM account, and do not need ITinterventions. The present invention uses a data model that includes twoobjects to allow end users to generate and manage the pseudo datafields. The two objects do not count as actual CRM account metadata, andbehavior specifics that need to apply to CRM accounts and CRM datafields do not apply to the two objects or the pseudo data fields. One ofthe objects is pseudo data field configuration object, which may be usedto configure the pseudo data fields that should be made available to endusers. The other object is pseudo data field object which may be used torecord user responses or values users use to populate the pseudo datafield.

FIG. 1 illustrates an example high level block diagram of a customerrelationship management architecture 100 wherein the present inventionmay be implemented. As shown, the architecture 100 may include aplurality of user computing devices 120 a, 120 b, . . . 120 n, and a CRM110, coupled to each other via a network 150. The CRM 110 may include acustomer relationship management server 111, and a customer relationshipmanagement subsystem 112. The network 150 may include one or more typesof communication networks, e.g., a local area network (“LAN”), a widearea network (“WAN”), an intra-network, an inter-network (e.g., theInternet), a telecommunication network, and peer-to-peer networks (e.g.,ad hoc peer-to-peer networks), which may be wired or wireless.

The user computing devices 120 a-120 n may be any machine or system thatis used by a user to access the CRM 110 via the network 150, and may beany commercially available computing devices including laptop computers,desktop computers, mobile phones, smart phones, tablet computers,netbooks, and personal digital assistants (PDAs). A client application121 may run from a user computing device, e.g., 120 a, and access theCRM 110 via the network 150. User computing devices 120 a-120 n areillustrated in more detail in FIG. 3.

The customer relationship management server 111 is typically a remotecomputer system accessible over a remote or local network, such as thenetwork 150, and may provide access to the customer relationshipmanagement subsystem 112. The customer relationship management server111 could be any commercially available computing devices. A clientapplication (e.g., 121) process may be active on one or more usercomputing devices 120 a-120 n. The corresponding server process may beactive on the customer relationship management server 111. The clientapplication process and the corresponding server process may communicatewith each other over the network 150, thus providing distributedfunctionality and allowing multiple client applications to takeadvantage of the information-gathering capabilities of the CRM 110. Thecustomer relationship management server 111 may include a pseudo datafield controller 1119 which controls configuration and management ofpseudo data fields.

In one implementation, the customer relationship management subsystem112 contains all contact information that may be available to users. Inaddition to storage of contact information, the customer relationshipmanagement subsystem 112 may also be capable of storing configurationsregarding specific preferences, regulatory limitations and requirements,and other fields that will facilitate communications, in general or on aby-recipient basis.

In one implementation, the customer relationship management subsystem112 is capable of communication with multiple sources through thecustomer relationship management server 111 or through other channels tomaintain a current and accurate collection of information regardingcustomer accounts. The interface with the multiple sources can be, forexample, through an Applications Programming Interface or API, as theAPI interface will allow compatibility with a flexible array ofthird-party provider servers. The information being updated may include,but is not limited to, licensing information, area of practice, andlocation of the various customer accounts. In this manner, the customerrelationship management subsystem 112 pulls the approved version of whatrepresents an account, which may be a hospital or physician, which thenpulls from multiple networks to ensure that the information regarding anaccount is up-to-date.

The customer relationship management subsystem 112 may be operated by athird party.

In one implementation, the CRM 110 may be a multi-tenant system wherevarious elements of hardware and software may be shared by one or morecustomers. For instance, a server may simultaneously process requestsfrom a plurality of customers. In a multi-tenant system, a user istypically associated with a particular customer. In one example, a usercould be an employee of one of a number of pharmaceutical companieswhich are tenants, or customers, of the CRM 110.

In one embodiment, the CRM 110 may run on a cloud computing platform.Users can access content on the cloud independently by using a virtualmachine image, or purchasing access to a service maintained by a clouddatabase provider. The customer relationship management subsystem 112may be a cloud-based customer database that provides a central access tostore and distribute consistent data across customer companies as wellas their possible third-party partners and agencies that are used tokeep this data updated. This system can provide standard data formatsand provide an easy and automated way for customers to have access tocoordinated and frequently updated CRM data.

In one embodiment, the CRM 110 may be provided as Software as a Service(“SaaS”) to allow users to access it with a thin client.

FIG. 2 illustrates an example block diagram of a computing device 200which can be used as the user computing devices 120 a-120 n, and thecustomer management relationship server 111 in FIG. 1. The computingdevice 200 is only one example of a suitable computing environment andis not intended to suggest any limitation as to scope of use orfunctionality. The computing device 200 may include a processing unit201, a system memory 202, an input device 203, an output device 204, anetwork interface 205 and a system bus 206 that couples these componentsto each other.

The processing unit 201 may be configured to execute computerinstructions that are stored in a computer-readable medium, for example,the system memory 202. The processing unit 201 may be a centralprocessing unit (CPU).

The system memory 202 typically includes a variety of computer readablemedia which may be any available media accessible by the processing unit201. For instance, the system memory 202 may include computer storagemedia in the form of volatile and/or nonvolatile memory such as readonly memory (ROM) and/or random access memory (RAM). By way of example,but not limitation, the system memory 202 may store instructions anddata, e.g., an operating system, program modules, various applicationprograms, and program data.

A user can enter commands and information to the computing device 200through the input device 203. The input device 203 may be, e.g., akeyboard, a touchscreen input device, a touch pad, a mouse, amicrophone, and/or a pen.

The computing device 200 may provide its output via the output device204 which may be, e.g., a monitor or other type of display device, aspeaker, or a printer.

The computing device 200, through the network interface 205, may operatein a networked or distributed environment using logical connections toone or more other computing devices, which may be a personal computer, aserver, a router, a network PC, a peer device, a smart phone, or anyother media consumption or transmission device, and may include any orall of the elements described above. The logical connections may includea network (e.g., the network 150) and/or buses. The network interface205 may be configured to allow the computing device 200 to transmit andreceive data in a network, for example, the network 150. The networkinterface 205 may include one or more network interface cards (NICs).

FIG. 3 illustrates an example high level block diagram of a usercomputing device (e.g., 120 a) wherein the present invention may beimplemented. The user computing device 120 a may be implemented by thecomputing device 200 described above, and may have a processing unit1201, a system memory 1202, an input device 1203, an output device 1204,and a network interface 1205, coupled to each other via a system bus1206. The system memory 1202 may store the client application 121, andthe client database 122.

FIG. 4 illustrates an example high level block diagram of the customerrelationship management server 111 according to one embodiment of thepresent invention. The customer relationship management server 111 maybe implemented by the computing device 200, and may have a processingunit 1111, a system memory 1112, an input device 1113, an output device1114, and a network interface 1115, coupled to each other via a systembus 1116. The system memory 1112 may store the pseudo data fieldcontroller 1119.

FIG. 5 illustrates an example flowchart of a method for generating andmanaging a pseudo CRM data field according to one embodiment of thepresent invention. The process may be controlled by the pseudo datafield controller 1119 and start at 501.

At 503, a first end user may log into the CRM system 110 with a usercomputing device, e.g., 120 a.

At 505, a request for generating a new pseudo data field for an accountobject in the CRM system 110 may be received at the CRM server 111.

At 507, a user interface for generating a new pseudo data field for anaccount object in the CRM system 110 may be displayed. The userinterface for generating a new pseudo data field may have a first areafor receiving input for the pseudo data field configuration object. Thefirst end user may create records of this object to define the type offield/type of data that should be made available for all end users tocapture the needed information. The user interface for generating apseudo data field may have a second area for receiving input for thepseudo data field object. As end users populate the data made availablethrough the pseudo data field configuration object, the new data issaved to the pseudo data field object.

At 508, user inputs may be received at the first area and the secondarea on the user interface for generating a new pseudo data field for anaccount object in the CRM system 110.

In one embodiment, an end user may want to access and activate pseudodata field Objects, Fields, Record Types, Page Layouts, user interfaceframework (e.g., VisualForce) components, and user interface framework(e.g. Visualforce) tabs. He may create a pseudo data field configurationobject with the following components:

1. Record Types; and

2. Fields.

Page Layouts and VisualForce may also be enabled.

He may create the pseudo data object with the following components:

1. Record Types; and

2. Fields.

Page Layouts and VisualForce may also be enabled.

In one embodiment, an end user may want to define pseudo data fields sothat other users can view and modify the values for the defined pseudodata field. The end user may have the ability to define new pseudo datafields of the following data types:

1. Text;

2. Text Area;

3. Picklist;

4. Checkbox;

5. Number;

6. Date; and

7. Datetime.

The end user may create pseudo data field object with the followingcomponents:

1. Record Types; and

2. Fields.

VisualForce may also be enabled.

A number of record types are provided, each of which may allow end usersto create a pseudo data field of this record type. In one embodiment,end users may create pseudo data fields of text, text area, number,date, date time, picklist and checkbox. Among them, text, text area,number, date and date time may have the same fields listed on a pagelayout for these record types. The Picklist may have a field called“Available Values,” that is where the end users may provide the valuesthat should be included in the picklist. The picklist may behave exactlylike a custom picklist in Salesforce™ CRM, where the value of None isdisplayed as the first line item in the field.

Each of the configuration records may have fields that need to bedefined, and end users may define, e.g., a section, a name, and a label.

The data in pseudo data fields is not an actual CRM object. To make apseudo data field to behave like an actual CRM object and be accessibleby end users, the user interface may be configured so that the objectdefinition based on the pseudo data field configuration record is reador displayed as an actual CRM data field.

At 509, the pseudo data field configuration object may be stored to theCRM subsystem 112.

At 511, a combined CRM Account Detail page for displaying the pseudodata fields together with other CRM account information may be generatedin response to a request for displaying a CRM Account Detail page. Inone embodiment, the combined CRM account detail page is a VisualForcepage.

In one embodiment, the pseudo data field may be added as a component toa CRM account page layout, so that it can be displayed on a CRM AccountDetail page, in a way similar to actual CRM data fields displayed on theCRM Account detail page. In one example, a pseudo data field of RecordType ‘Text’ and Label ‘Cholecap Lunch and Learn Response’ may be addedto the Professional Account Page Layout. When an end user interacts withan Account type Professional, they would view the ‘Cholecap Lunch andLearn Response’ pseudo data field on the Detail Page of the Account andhave the opportunity to edit, thus creating a pseudo data field record.

At 513, a user input may be received at the pseudo data field on thecombined CRM Account Detail Page.

In one embodiment, CRM account fields and pseudo data fields may beedited on the same combined CRM Account Detail page. When users go tothe “editing an account” CRM user interface, they see either an accountfield or a pseudo data field that needs to be populated. They can clickon ‘edit’, the responding behaviors of the account field and the pseudodata field are the same to the end user. In one embodiment, a userinterface may be created to display an edit page for pseudo data fieldsas well as the fields, and logics may be added to control what is savedfirst, since pseudo data fields are inherently not CRM data fields butdata that is being saved. In one embodiment, the user interface is aVisualForce page. In one embodiment, the logic is to save account fieldsfirst, and pseudo data fields are saved after the account fields aresaved. If the pseudo data fields do get saved, they are savedindividually and differently from actual CRM objects to record. In oneembodiment, actual CRM account fields save on an ‘all or none’ basis. Ifone CRM account field is populated incorrectly (e.g., date field thathas been populated with text), then none of the fields can be saved andthe user remains on the edit page. However, a pseudo data field can besaved while the data attribute in another pseudo data field on the sameedit page fails. In one example, any pseudo data field that getspopulated correctly will be saved and a record is created, and anythingthat fails will cause display of an error message. End users will remainon the same edit page until they correct all mistakes and savecorrectly. If an actual CRM account field fails to save, then no pseudodata field gets saved either.

In one embodiment, the pseudo data fields on the combined CRM AccountDetail page may appear in a separate section on the page layout, butother than this, the end-user experience is identical. When a userenters a value for a pseudo data field from the combined CRM Accountdetail page, the value (along with other data points like AttributeLabel and Account associated with the value) will be stored in thepseudo data field object.

One end user may create configuration records to make pseudo data fieldsavailable to other end users, and end users may populate fields inconfiguration object, including the name, label, product details, andstatus. In one embodiment, there are three statuses for configurationrecord: active, inactive, staged. If it is active, it is displayed tothe end user. If it is inactive or staged, it will not. When an end useradded a pseudo data field, made it available to end users, gathered thedata he needs from end users, and does not need the pseudo data fieldanymore, he/she can put the pseudo data field in the inactive status, sothat the pseudo data field may disappear from all end users' devices. Ifthe end user wants to make the pseudo data field inactive for a shortperiod of time, e.g., to make changes to the pseudo data field, he mayput it in staged status so that he can modify it, but other end userscan't access or edit it. When a pseudo data field is in the stagedstatus, the end user who created it can track it, update it, make itavailable again, or put it in inactive status.

In one embodiment, the end user creating the pseudo data field may setthe pseudo data field as read-only for other end users.

At 515, a user input to the pseudo data fields may be stored to thepseudo data field objects in the CRM subsystem 112.

Since pseudo data fields are not actual CRM data fields and can't bestored as account data in the CRM system, the second object, pseudo datafield object, may be used to store the data. For each pseudo data fieldrecord, the pseudo data field controller 1119 may track which pseudodata field it is populated for, the date it was populated, whether it isactive or inactive, the name of the pseudo data field, the label, etc.The system may also stamp the value of the pseudo data field. Each typeof pseudo data field may be saved within this object, for example, ifthe pseudo data field that was created is a text record type, when theend user populates that text, the value may get saved in the text fieldwithin the pseudo data field object (e.g., for the text field “haircolor,” the value is Red). The pseudo data field object may store datafor all different data types or record types, including a text areafield, checkbox, number, data, date, and picklist.

End users may create an audit trail for the pseudo data field. End usersmay select “Track Changes” by checking a checkbox. If “Track Changes” isunchecked, every time the end user populates a pseudo data field record,the pseudo data field record is updated. However, if “Track Changes” ischecked, every time that the pseudo data field is updated by an enduser, it may inactivate the last record, create a new record, andactivate the new record, so the end users can always see the latestupdated record on their device, while the old record is still stored inthe CRM subsystem 112. In one example, “Track Changes” is on, an enduser chooses hair color as Blonde. When that is saved, a pseudo datafield record is created with Blonde as the value of that picklist, andthe last modified date as Sep. 1, 2019. One week later, the end user maychange the color to Red and save. The pseudo data field controller 1119may automatically create a second pseudo data field record where thehair color is equal to “red”, and the last modified date is Sep. 8,2019. The second pseudo data field record is the one that is displayedto all end users until the hair color is updated again, while the firstpseudo data field record is still saved in the CRM subsystem 112. Thelast active field/record is always displayed to the end users if TrackChanges is on. If “Track Changes” is off, the Blonde record that hasexisted before is updated to red, it remains active, and the lastmodified date is updated to Sep. 8, 2019, but no new pseudo data fieldrecord is created.

In one embodiment, if two users populated the same pseudo data field atthe same time and save, the latest record that goes up as active is theone that will be displayed to other end users.

To end users, the pseudo data fields look and feel exactly like anacutal CRM data field, and end users won't see or feel any differences.They can populate pseudo data fields made available to them and updatedata there.

The above-described features and applications can be implemented assoftware processes that are specified as a set of instructions recordedon a computer readable storage medium (also referred to as computerreadable medium). When these instructions are executed by one or moreprocessing unit(s) (e.g., one or more processors, cores of processors,or other processing units), they cause the processing unit(s) to performthe actions indicated in the instructions. Examples of computer readablemedia include, but are not limited to, CD-ROMs, flash drives, RAM chips,hard drives, EPROMs, etc. The computer readable media does not includecarrier waves and electronic signals passing wirelessly or over wiredconnections.

These functions described above can be implemented in digital electroniccircuitry, in computer software, firmware or hardware. The techniquescan be implemented using one or more computer program products.Programmable processors and computers can be included in or packaged asmobile devices. The processes and logic flows can be performed by one ormore programmable processors and by one or more programmable logiccircuitry. General and special purpose computing devices and storagedevices can be interconnected through communication networks.

In this specification, the term “software” is meant to include firmwareresiding in read-only memory or applications stored in magnetic storage,which can be read into memory for processing by a processor. Also, insome implementations, multiple software technologies can be implementedas sub-parts of a larger program while remaining distinct softwaretechnologies. In some implementations, multiple software technologiescan also be implemented as separate programs. Finally, any combinationof separate programs that together implement a software technologydescribed here is within the scope of the subject technology. In someimplementations, the software programs, when installed to operate on oneor more electronic systems, define one or more specific machineimplementations that execute and perform the operations of the softwareprograms. Examples of computer programs or computer code include machinecode, for example is produced by a compiler, and files includinghigher-level code that are executed by a computer, an electroniccomponent, or a microprocessor using an interpreter.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, declarative orprocedural languages, and it can be deployed in any form, including as astand alone program or as a module, component, subroutine, object, orother unit suitable for use in a computing environment. A computerprogram may, but need not, correspond to a file in a file system. Aprogram can be stored in a portion of a file that holds other programsor data (e.g., one or more scripts stored in a markup languagedocument), in a single file dedicated to the program in question, or inmultiple coordinated files (e.g., files that store one or more modules,sub programs, or portions of code). A computer program can be deployedto be executed on one computer or on multiple computers that are locatedat one site or distributed across multiple sites and interconnected by acommunication network.

As used in this specification and any claims of this application, theterms “computer”, “server”, “processor”, and “memory” all refer toelectronic or other technological devices. These terms exclude people orgroups of people. For the purposes of the specification, the termsdisplay or displaying means displaying on an electronic device. As usedin this specification and any claims of this application, the terms“computer readable medium” and “computer readable media” are entirelyrestricted to tangible, physical objects that store information in aform that is readable by a computer. These terms exclude any wirelesssignals, wired download signals, and any other ephemeral signals.

It is understood that any specific order or hierarchy of steps in theprocesses disclosed is an illustration of example approaches. Based upondesign preferences, it is understood that the specific order orhierarchy of steps in the processes may be rearranged, or that allillustrated steps be performed. Some of the steps may be performedsimultaneously. For example, in certain circumstances, multitasking andparallel processing may be advantageous. Moreover, the separation ofvarious system components illustrated above should not be understood asrequiring such separation, and it should be understood that thedescribed program components and systems can generally be integratedtogether in a single software product or packaged into multiple softwareproducts.

Various modifications to these aspects will be readily apparent, and thegeneric principles defined herein may be applied to other aspects. Thus,the claims are not intended to be limited to the aspects shown herein,but is to be accorded the full scope consistent with the languageclaims, where reference to an element in the singular is not intended tomean “one and only one” unless specifically so stated, but rather “oneor more.” Unless specifically stated otherwise, the term “some” refersto one or more.

What is claimed is:
 1. A computer-implemented method for generating apseudo data field in a customer relationship management (“CRM”) system,the method comprising: receiving a request, at a pseudo data fieldcontroller in a server of the CRM system, for generating a pseudo datafield for an account object in the CRM system, wherein the pseudo datafield is not a data field of the account object in the CRM system;displaying a first user interface for generating the pseudo data field,wherein the first user interface comprises a first area for receivinginput for configuring a pseudo data field configuration object;receiving a first user input, in the first area on the first userinterface, for a pseudo data field configuration object; storing thepseudo data field configuration object in a storage device of the CRMsystem; generating and displaying a combined CRM account detail page,wherein the combined CRM account detail page comprises a first area fordisplaying fields of the account object in the CRM system and a secondarea for displaying the pseudo data field; receiving a second user inputin the pseudo data field on the combined CRM account detail page; andstoring the second user input in a pseudo data field object in thestorage device of the CRM system, separately from data in the fields ofthe account object in the CRM system.
 2. The method of claim 1, furthercomprising: generating a first record of the pseudo data fieldconfiguration object for defining a data type to be entered in thepseudo data field.
 3. The method of claim 2, wherein the data typecomprises text.
 4. The method of claim 2, wherein the data typecomprises a text area.
 5. The method of claim 2, wherein the data typecomprises a picklist.
 6. The method of claim 2, wherein the pseudo datafield configuration object comprises a record type and a field.
 7. Themethod of claim 1, wherein the pseudo data field object comprises arecord type and a field.
 8. The method of claim 1, wherein the firstuser interface for generating the pseudo data field comprises a secondarea for receiving input for configuring the pseudo data field object.9. The method of claim 1, further comprising: adding the pseudo datafield as a component to a page layout of the account object in the CRMsystem.
 10. The method of claim 1, further comprising: storing input tofields of the account object in the CRM system on the combined CRMaccount detail page before storing input to the pseudo data field on thecombined CRM account detail page.
 11. The method of claim 1, furthercomprising: changing the pseudo data field to an inactive status toremove it from the combined CRM account detail page.
 12. The method ofclaim 1, further comprising: changing the pseudo data field to a stagedstatus to temporarily prevent access to it.
 13. The method of claim 1,further comprising: changing the pseudo data field to a read-onlystatus.
 14. The method of claim 1, further comprising: tracking datachanges to the pseudo data field.
 15. A CRM system, comprising: astorage device; a CRM server, wherein the CRM server comprises a pseudodata field controller for: receiving a request, at a pseudo data fieldcontroller in the server of the CRM system, for generating a pseudo datafield for an account object in the CRM system, wherein the pseudo datafield is not a data field of the account object in the CRM system;displaying a first user interface for generating the pseudo data field,wherein the first user interface comprises a first area for receivinginput for configuring a pseudo data field configuration object;receiving a first user input, in the first area on the first userinterface, for a pseudo data field configuration object; storing thepseudo data field configuration object to the storage device of the CRMsystem; generating and displaying a combined CRM account detail page,wherein the combined CRM account detail page comprises a first area fordisplaying fields of the account object in the CRM system and a secondarea for displaying the pseudo data field; receiving a second user inputin the pseudo data field on the combined CRM account detail page; andstoring the second user input in a pseudo data field object in thestorage device of the CRM system, separately from data in the fields ofthe account object in the CRM system.
 16. The method of claim 14,further comprising: when the pseudo data field is updated from a firstvalue to a second value, creating a second pseudo data field record andactivating the second pseudo data field record.